﻿
namespace RSPDS.OAuth
{
    public interface IRSPDS_OAuthClient
    {
        // Consumer Key Issued by OAUTH Resource Server.
        string ConsumerKey { get; }

        // Consumer Secret Issued by OAUTH Resource Server.
        string ConsumerSecret { get; }

        // Login URI - Replace REDIRECT_URI and CLIENT_ID with 
        // appropriate values.
        // https://oauth2server.com/auth?response_type=code&
        // client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&scope=photos
        string LoginURI { get; }

        // Redirect URI callback, include AUTH_CODE token.
        // https://oauth2client.com/cb?code=AUTH_CODE
        string RedirectURI { get; }

        // Request token URI (POST) used to obtain the token.
        // Replace AUTH_CODE, CLIENT_ID, REDIRECT_URI, CLIENT_SECRET
        // with appropriate values.
        // POST https://api.oauth2server.com/token
        // grant_type=authorization_code&
        // code=AUTH_CODE&
        // redirect_uri=REDIRECT_URI&
        // client_id=CLIENT_ID&
        // client_secret=CLIENT_SECRET
        string TokenRequestURI { get; }
    }
}
